//
//  SEGUhomeMediator+SEGStandard.h
//  SEGBasicBussiness
//
//  Created by 刘山 on 2018/3/13.
//  Copyright © 2018年 刘山. All rights reserved.
//

#import "SEGUhomeMediator.h"

@interface SEGUhomeMediator (SEGStandard)
/**
 * 初始化登录界面
 * @author Sam
 * @param params  参数
 * @return UIViewController
 */
-(UIViewController*)seg_initLoginViewController:(NSDictionary*)params;

-(void)seg_EnterAppRequestLogic:(NSDictionary*)params;

/**
 * 初始化百度地图
 * @author Sam
 * @param params  跳转参数
 */
-(UIViewController*)seg_initBMKLocationKit:(NSDictionary*)params;

/**
 * 修改密码
 * @author Sam
 * @param params  跳转参数
 */
-(UIViewController*)seg_initChangePasswordViewController:(NSDictionary*)params;

/**
 * 修改号码
 * @author Sam
 * @param params  跳转参数
 */
-(UIViewController*)seg_initSEGChangePhoneNumberViewController:(NSDictionary*)params;

/// 注销账号
/// @param params 跳转参数
- (UIViewController *)seg_initSEGLogoutViewController:(NSDictionary *)params;

/**
 * 初始化切换小区界面
 * @author Sam
 * @param params  参数
 * @return UIViewController
 */
-(UIViewController*)seg_initSelectCommunityViewController:(NSDictionary*)params;

/**
 * 初始化切换小区
 * @author Sam
 * @param params  跳转参数
 */
-(UIViewController*)seg_initChangeCommunityViewController:(NSDictionary*)params;

/**
 * 初始化新特性界面
 * @author Sam
 * @param params  参数
 * @return UIViewController
 */
-(UIViewController*)seg_initNewVersionViewController:(NSDictionary*)params;

/**
 * 检测新版本
 * @author Sam
 */
-(void)seg_checkVersion:(NSDictionary*)params;

/**
 * 检查是否有新的版本
 * @author Sam
 */
-(NSString*)seg_compareVersion:(NSDictionary*)params;

/**
 * 检查是否有新的版本并且进行跳转
 * @author Sam
 */
-(void)seg_compareVersionAndPush:(NSDictionary*)params;

/**
 * 显示遮罩层
 * @author Sam
 * @param params  参数 key包括:view/text/image (其中image不传时默认为@"pic_default_page")
 */
-(void)seg_showCustomProgressImage:(NSDictionary*)params;

/**
 * 隐藏遮罩层
 * @author Sam
 * @param params  参数
 */
-(void)seg_hideCustomProgressImage:(NSDictionary*)params;

/**
 * 通过接口请求执行登录流程操作
 * @author Sam
 */
-(void)seg_pushToMainViewControllerThroughInterface:(NSDictionary*)params;

/**
 * 通过接口请求执行登录流程操作
 * @author Sam
 */
-(void)seg_pushToMainViewControllerThroughInterfaceV2:(NSDictionary*)params;

/**
 * 跳转到主界面
 * @author Sam
 */
-(void)seg_pushToMainViewController:(NSDictionary*)params;

/**
 * 跳转到登录界面
 * @author Sam
 */
-(void)seg_pushToLoginViewController:(NSDictionary*)params;

/**
 * 跳转到新特性界面
 * @author Sam
 */
-(void)seg_pushToNewVersionViewController:(NSDictionary*)params;

/**
 * 项目中跳转到任意界面
 * @author Sam
 */
-(void)seg_pushToViewControllerWithAction:(NSDictionary*)params;

/**
 * 项目中跳转到任意界面
 * @author Sam
 */
-(void)seg_pushToViewControllerWithType:(NSDictionary*)params;

/**
 * 添加网页跳转原生界面
 * @author Sam
 * @version 4.6.0
 */
-(void)seg_pushToViewControllerWithScheme:(NSDictionary *)params;

/**
 * 根据消息跳转到对应界面
 * @author Wendy
 */
-(void)seg_pushToViewControllerWithMessageInfo:(NSDictionary*)params;

/**
 根据消息类型跳转对应界面 (依据type, 统一处理消息中心跳转页面)

 @param params 消息体
 */
- (void)seg_pushToViewControllerWithMessageType:(NSDictionary *)params;

/**
 * 初始化极光推送
 * @author Wendy
 */
-(void)seg_initJpushWithOptions:(NSDictionary*)params;

/**
 * 上传极光推送token
 * @author Wendy
 */
-(void)seg_submitJpushToken:(NSDictionary*)params;

/**
 * 获取极光推送要绑定的tag
 * @author Wendy
 */
-(void)seg_requestGetPushTag:(NSDictionary*)params;

/**
 * 保存菜单父子关系
 */
- (void)seg_saveMenuList:(NSDictionary*)params;

#pragma mark - 红点ID相关方法
// 获取现有的红点settingsId数组
- (NSMutableArray *)seg_getCurrentSettingIdsArray:(NSDictionary*)params;

/**
 * 获取红点的Type和Rescode对应关系字典
 * @return Type和Rescode对应关系字典
 */
- (NSDictionary *)seg_getRedDotTypeAndRescodeDict:(NSDictionary*)params;


/**
 * 保存红点的Type对应的菜单ID
 *  @param type 推送或透传消息的type
 */
- (void)seg_saveRedDotWithType:(NSDictionary*)params;

/**
 *  删除Type对应的本地红点信息
 *  @param type 推送或透传消息的type
 */
- (void)seg_deleteRedDotWithType:(NSDictionary*)params;

/**
 * 删除菜单ID对应的本地红点信息
 * @param idString 菜单的settingsId
 */
- (void)seg_deleteRedDotWithId:(NSDictionary*)params;

/**
 * 获取所有物业服务的消息类型数组
 * @return 物业服务的消息类型数组
 */
- (NSArray *)seg_getServiceTypeArray:(NSDictionary*)params;

/**
 *  获取现有的物业服务消息serviceId数组
 */
- (NSMutableArray *)seg_getMyServiceIdArray:(NSDictionary*)params;

/**
 *  保存物业服务消息的serviceId
 *  @param serviceId 推送或透传消息的serviceId
 */
- (void)seg_saveMyServiceId:(NSDictionary*)params;

/**
 *  删除物业服务消息的serviceId
 *  @param serviceId 推送或透传消息的serviceId
 */
- (void)seg_deleteMyServiceId:(NSDictionary*)params;

//-----

/**
 * 网页初始化
 * @author Helen
 */
-(UIViewController *)seg_initWebViewLoadController:(NSDictionary*)params;

/**
 * tab网页初始化
 * @author lima
 */
-(UIViewController *)seg_initTabWebViewLoadController:(NSDictionary*)params;

/**
 * 网页初始化
 * @author Helen
 */
-(UIViewController *)seg_initWebViewLoadController:(NSDictionary*)params completed:(id(^) (id result ,NSURL * url))completed;

/**
 获取网页的类
 
 @return 类
 */
-(Class)seg_getWebViewLoadControllerClass;

/**
 重载WebView的数据
 
 @param params 参数
 */
-(void)seg_reloadWebViewData:(NSDictionary *)params;

/**
 * 初始化用户反馈回复界面
 * @author Sam
 */
-(UIViewController*)seg_initFeedbackDetailViewController:(NSDictionary*)params;

/**
 * 初始化产品反馈界面
 * @author Sam
 */
-(UIViewController*)seg_initUserFeedbackViewController:(NSDictionary*)params;

/**
 * 显示邀请记录
 * @author Sam
 */
-(UIViewController*)seg_initInviteRecordViewController:(NSDictionary*)params;

/**
 * 邀请邻居
 * @author Sam
 */
-(UIViewController*)seg_initInviteViewController:(NSDictionary*)params;

/**
 * 邀请邻居-二维码下载APP
 * @author Sam
 */
-(UIViewController*)seg_initSEGInviteQRCodeViewController:(NSDictionary*)params;

/**
 * 跳转到话费充值 turnTip
 * @author Sam
 */
-(UIViewController*)seg_initPhoneRechargeViewController:(NSDictionary*)params;

/**
 * 初始化设置界面
 * @author Sam
 */
-(UIViewController*)seg_initSettingViewController:(NSDictionary*)params;

/**
 * 我的收藏
 * @author Sam
 */
-(UIViewController*)seg_initMyCollectionViewController:(NSDictionary*)params;

/**
 * 菜单界面
 * @author Sam
 */
-(UIViewController*)seg_initMenuListViewController:(NSDictionary*)params;

/**
 渤海支付钱包入口
 @author Sam
 */
-(void)seg_pushToWallet:(NSDictionary*)params;

/**
 消费
 @author Sam
 */
-(void)seg_BoHaiPayWithParams:(NSDictionary*)params callBack:(void(^)(NSDictionary *responseData))callback;

/// 初始化视频监控控制器
/// @author Sam
/// @param params 参数
-(UIViewController*)seg_initHikVideoPlayerController:(NSDictionary*)params;

/**
 * 菜单界面-我的
 * @author Sam
 */
-(UIViewController*)seg_initMyRootViewController:(NSDictionary*)params;

/**
 * 菜单界面-服务
 * @author Sam
 */
-(UIViewController*)seg_initServiceViewController:(NSDictionary*)params;

/**
 * 菜单界面-纷享
 * @author Sam
 */
-(UIViewController*)seg_initMainViewController:(NSDictionary*)params;

/**
 * 菜单界面-社区
 * 2018-05-28
 * @author Sam
 */
- (UIViewController *)seg_initMenuCommunityViewController:(NSDictionary *)params;

/**
* 常用菜单界面
* @author Joeyoung
*/
- (UIViewController *)seg_initUsualMenuViewController:(NSDictionary *)params;

/**
 * 初始化个人资料 -- 完善信息
 * @author Helen
 */
-(UIViewController*)seg_initSEGCompleteGenderInfoViewController:(NSDictionary*)params;

/**
 * 初始化个人资料 -- 配送地址
 * @author Helen
 */
-(UIViewController*)seg_initSEGAdressListViewController:(NSDictionary*)params;

/**
 * 初始化 个人资料显示
 * @author Helen
 */
-(UIViewController*)seg_initMyProfileViewController:(NSDictionary*)params;

/**
 * 初始化消息列表
 * @author Wendy
 */
-(UIViewController*)seg_initMessageRootViewController:(NSDictionary*)params;

/**
 * 跳转到私聊
 * @author Sam
 */
-(UIViewController*)seg_initSessionMessageViewControllerParams:(NSDictionary*)params;

/// 用户登录积分成长值
- (void)seg_requestLoginIntegralGrowth:(NSDictionary *)params;
/// 用户注册积分成长值
- (void)seg_requestSignUpIntegralGrowth:(NSDictionary *)params;
/**
 * 初始化公众号
 * @author Wendy
 * @param params  跳转参数 必传参数有messageModel
 */
- (UIViewController*)seg_initServiceMessageViewController:(NSDictionary*)params;

/**
 * 初始化到家服务聊天界面
 * @author Wendy
 */
-(UIViewController*)seg_initOrderMessageViewController:(NSDictionary*)params;

/**
 * 初始化聊天界面
 * @author Wendy
 */
-(UIViewController*)seg_initSessionMessageViewController:(NSDictionary*)params;

/**
 初始化拼车聊天界面
 
 @param params 参数
 @return 聊天界面VC
 */
-(UIViewController*)seg_initWayCarSessionMessageViewController:(NSDictionary*)params;

/**
 初始化老活动聊天界面
 
 @param params 参数
 @return 聊天界面VC
 */
-(UIViewController*)seg_initOldActivitySessionMessageViewController:(NSDictionary*)params;

/**
 获取聊天界面的Class
 
 @return Class
 */
-(Class)seg_getMessageViewControllerClass;

- (void)seg_initForDidRegisterForRemoteNotificationsWithDeviceToken:(NSDictionary *)params;

- (void)seg_initForDidReceiveRemoteNotification:(NSDictionary *)params;

/**
 * 控制纷享刷新控件的展示和隐藏
 * @author Sam
 * @param isShow  YES 展示，NO 隐藏
 */
//-(void)seg_frshItemShow:(BOOL)isShow;

/**
 * 模态跳转启动广告
 * @author Sam
 */
-(void)seg_showLaunchAndPopWindowAdvertisement:(NSDictionary*)params;

/**
 * 获取app最顶层的控制器
 * @author Sam
 */
-(UIViewController*)seg_getCurrentController:(NSDictionary*)params;

/**
 * 给类包裹一层navigation
 * @author Sam
 */
-(UINavigationController*)seg_getNaviController:(NSDictionary*)params;

/**
 初始化等待页面
 */
-(UIViewController*)seg_initWaitingViewController:(NSDictionary*)params;

/**
 * 跳转到指定Tab项
 * @author Sam
 */
-(void)seg_selctedToTabWithAction:(NSString*)action;

/**
 * 自动跳转到指定Tab项 暂时只支持消息
 * @author lima
 */
-(void)seg_autoSelctedToTabWithAction:(NSString*)action;

/**
 * 跳转到开门界面
 * @author Sam
 */
-(void)seg_showOPenDoorViewWithAction:(NSString*)action;

/**
 * 菜单界面-子菜单界面
 * @author Sam
 */
-(UIViewController*)seg_initMenuChildListViewController:(NSDictionary*)params;

/**
 * 菜单界面-子菜单界面
 * @author Sam
 */
-(UIViewController*)seg_initOldPGCViewController:(NSDictionary*)params;

/**
 * 活动
 * @author Sam
 * @param params  参数
 */
-(void)seg_dealWithCheckActivityResultDict:(NSDictionary*)params;

/**
 * 活动
 * @author Sam
 * @param params  参数
 */
-(void)seg_showRedWalletViewWithType:(NSDictionary*)params;

/// 人脸识别
/// @param params 入参
- (UIViewController *)seg_initFaceRecognitionViewController:(NSDictionary *)params;

//分享组件封装
-(UIViewController*)seg_initShareViewController:(NSDictionary*)params
                                     actionType:(void(^)(NSInteger actionType))actionType
                                        channel:(void(^)(NSString* channel))channel;

/**
 * 企业认证入口
 * @author Sam
 */
-(UIViewController *)seg_initApplyAuthorViewController:(NSDictionary *)params;

/**
 * 员工管理入口
 * @author Sam
 */
-(UIViewController *)seg_initManageEmployeeViewController:(NSDictionary *)params;
@end
